<?php
/**
 * tis-tis 图片管理文件
 *
 * @copyright (c)2010 昆明力行软件  保留所有权利。
 * @link http://www.tis-tis.com
 * @Author: XiangJie
 * @version: 1.0.0
 */
require 'init.php';
require TIS_ROOT.'/admin/internal/smarty_config.php';
require TIS_ROOT.'/admin/internal/tools.php';

$smarty->assign('tpl_path','templates/default');
$value = $_REQUEST['value'];

if ($act == 'list') {
	$oldValue = $value;
	if (!$value) {
		$value = '../data/images';
	} else {
		$value = '../data/images/'.$value;
	}

	$temp = array();

	getImages($value, $temp);

	$ad = get_advertisement();

	foreach ($temp as $key=>$var) {
		$flat = isAd($var['img_url'], $ad);

		if ($flat) {
			$temp[$key]['ad'] = 'true';
		}
	}

	$smarty->assign('img_cat',$oldValue);
	$smarty->assign('img_infos',$temp);
	$smarty->assign("title", getPageTitle("图片管理"));

	$smarty->display('image_admin_list.tpl');
}
/**
 * 添加图片
 */
else if ($act == 'insert') {
	$smarty->assign("title", getPageTitle("上传图片"));
	$smarty->assign('form_action', 'addimg');

	$smarty->display('image_info.tpl');
}
/**
 * 添加图片逻辑处理
 */
else if ($act == 'addimg') {
	$isAd = $_REQUEST['is_ad'];
	if (!$isAd) {
		upload_image_operater('image_admin.php?act=insert');
	} else {
		add_advertisment('image_admin.php?act=insert');
	}
}

else if ($act == 'delete') {
	$img_url = $_REQUEST['value'];
	$flat = is_ad_image($img_url);
	/**
	 * 如果当前图片是广告位的话，要删除该广告位。
	 */
	if ($flat) {
		$sql = "delete from ".$DB->table('advertisement')." where img_url='$img_url'";
		$DB->query($sql);
	}

	$img_cat = $_REQUEST['img_cat'];

	if ($img_cat) {
		$tempValue = "&value=$img_cat";
	}

	/**
	 * 根据路径删除磁盘对应的文件。
	 */
	if(!remove_file("../".$img_url)) {
		redirectURL('image_admin.php?act=list'.$tempValue, '删除失败，请检查相关权限！');
	}

	redirectURL('image_admin.php?act=list'.$tempValue);
}
/**
 * 判断当前图片是否可以被编辑。
 *
 */
else if ($act == 'canEdit') {
	$img_url = $_REQUEST['value'];
	$flat = is_ad_image($img_url);

	my_json_encode(array("canDo"=>$flat));
}
/**
 * 当前处理的是ajax的请求。
 */
else if ($act == 'isAd') {
	$img_url = $_REQUEST['value'];
	operateImage($img_url);
}
/**
 * 判断广告位是否是否存在该图片。
 *
 * @param 图片地址 $img_url
 * @return bool
 *
 * @author XiangJie
 */
function is_ad_image($img_url) {
	global $DB;

	$sql = "select * from ".$DB->table('advertisement')." where img_url='$img_url'";
	$ret = $DB->getRow($sql);

	return $ret;
}

/**
 * 对当前的image进行操作
 *
 * @param string $img_url 图片信息源
 */
function operateImage($img_url) {
	global $DB;

	$ret = is_ad_image($img_url);

	if ($ret) {
		$sql = "delete from ".$DB->table('advertisement')." where img_url='$img_url'";
		$DB->query($sql);
		$result = array("result"=>"delete");
	} else {
		$sql = "
		INSERT INTO ".$DB->table('advertisement')."( `img_url` , `url` , `description` ) VALUES ('$img_url', '.', '');";
		$DB->query($sql);
		$result = array("result"=>"add");
	}

	$val = my_json_encode($result);

}


/**
 * 判断该图片是否为广告位。
 *
 * @param string $value 待判断的值
 * @param array[] $ad   广告位信息
 * @return bool 返回当前图片是否为广告位
 *
 * @author XiangJie
 */
function isAd($value, $ad) {

	foreach ($ad as $var) {
		if ($value == $var['img_url']) {
			return true;
		}
	}

	return false;
}

/**
 * 获取目录下的图片信息。
 *
 * @param $path 文件路径
 * @param $temp 存储获取的图片信息
 *
 * @author XiangJie
 */
function getImages($path, &$temp) {
	$template_dir        = @opendir($path);

	while ($file = readdir($template_dir)) {
		if ($file != '.' && $file != '..' && is_dir($path.'/'.$file) && $file != '.svn' && $file != 'index.htm') {
			getImages($path.'/'.$file, $temp);
		} else if ($file != '.' && $file != '..' && $file != '.svn' && $file != 'index.htm') {
			$temp[]['img_url'] = substr($path.'/'.$file, 3);
		}

	}

	@closedir($template_dir);
}